"""
通用ESP32 S3系列开发板， 2.8吋 TFT 320x240 显示屏配置

参数默认配置基于Goouuu ESP32-S3扩展板，
其他开发板请根据实际情况修改参数。
"""

from machine import Pin, SoftSPI
from tft import st7789py as st7789

# 以下参数没有用到，暂时保留
# TFA = 40  # 顶部空白区域
# BFA = 40  # 底部空白区域
# WIDE = 1  # 横向模式标志
# TALL = 0  # 纵向模式标志
# SCROLL = 0      # scroll.py 示例的方向
# FEATHERS = 1    # feathers.py 示例的方向

def config(rotation=0):
    """
    配置并返回一个 ST7789 显示驱动程序的实例。

    参数:
        rotation (int): 显示屏的方向（默认值：0）。

    返回:
        ST7789: 一个 ST7789 显示驱动程序的实例。
    """

    return st7789.ST7789(
            spi=SoftSPI(baudrate=80000000, sck=Pin(
                3), mosi=Pin(45), miso=Pin(46)),
            width=320,
            height=240,
            reset=Pin(21, Pin.OUT),
            dc=Pin(47, Pin.OUT),
            cs=Pin(14, Pin.OUT),
            backlight=Pin(0, Pin.OUT),
            rotation=rotation)     